﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Text;

namespace FastDATA
{
    public partial class DECurso
    {
        public string Descricao
        {
            get
            {
                if (this.DETipoCurso == null)
                    loadTipoCurso();

                if (this.DECursoHorario == null)
                    loadCursoHorario();

                StringBuilder sb = new StringBuilder();
                sb.Append(this.DETipoCurso.Nome);
                sb.Append(" - ");
                sb.Append("De ");
                sb.Append(this._Inicio.Day);
                sb.Append("/");
                sb.Append(this._Inicio.Month);
                sb.Append(" até ");
                sb.Append(this._Fim.Day);
                sb.Append("/");
                sb.Append(this._Fim.Month);
                sb.Append(" - ");
                sb.Append(this.DECursoHorario.Dias);

                return sb.ToString();
            }
        }
        public string DescricaoStatus
        {
            get
            {
                if (this._Status == 1)
                    return "Inscrição Aberta";
                else if (this._Status == 2)
                    return "Em Andamento";
                else if (this._Status == 3)
                    return "Em andamento matrículas fechadas";
                else if (this._Status == 4)
                    return "Finalizado";
                else
                    return "Não Disponível";
            }
        }
        public string InicioShort
        {
            get
            {
                return DataInicio.ToShortDateString();
            }
        }
        public string FimShort
        {
            get
            {
                return DataFim.ToShortDateString();
            }
        }
        public string Valor
        {
            get
            {
                if (this.DETipoCurso == null)
                    loadTipoCurso();

                return "R$ " + this.DETipoCurso.Valor.ToString("N2");
            }
        }

        void loadTipoCurso()
        {
            try
            {
                using (DCCursoDataContext banco = new DCCursoDataContext())
                {
                    var q = from e in banco.DETipoCursos
                            where e.Codigo.Equals(this.CodigoTipoCurso)
                            select e;

                    this.DETipoCurso = q.First();
                }

            }
            catch (Exception)
            {
                throw;
            }
        }

        void loadCursoHorario()
        {
            try
            {
                using (DCCursoDataContext banco = new DCCursoDataContext())
                {
                    var q = from e in banco.DECursoHorarios
                            where e.Codigo.Equals(this.CodigoCursoHorario)
                            select e;

                    this.DECursoHorario = q.First();
                }
            }
            catch (Exception)
            {
                throw;
            }
        }
    }
}